---
title: "Terça sem fim - Escrevendo do zero bot de telegram com Python, Flask, PTB e Geany"
date: 2020-08-04T13:41:20-03:00
---

# Terça sem fim 2020-08-04

Começando às 15:00 em <https://youtube.com/c/Exmachinae/live>  

Salvo no youtube: <https://www.youtube.com/watch?v=HqoVkgBr8kk>  

Documentando tudo no blog em <http://ftkbuej5ggf45o5n37evqj6qhxjobrz7lyqvdz22z3me6yyuepmhgcad.onion/>  

Trilha sonora no fundo Rádio Balaio no Spotify: <​https://open.spotify.com/playlist/1dq6T4z992nMbar0ab1o6R?si=Iu4ulA8ZSuKLOl-w2LAiug>  

## Objetivos de hoje:

[X] - Criar issues no repositório do github do @mate_obot  
[X] - Encontrar todos os repositórios das irmãs e irmãos do MateBot  
[X] - Instalar e configurar Python e Geany no Windows 10  
[ ] - Refazer um código funcional do MateBot usando Flask e PTB  
[ ] - Migrar todos plugins do MateBot, suas irmãs e seus irmãos para a nova base de código  
[ ] - Configurar uma VPS Linux com Python / Pipenv, Git e Systemd pra manter os bots no ar  
[ ] - Diversificar os bots no Telegram  
[X] - Documentar o processo audiovisualmente e textualmente  
[X] - Terminar antes de doze horas  

### Objetivos pra semana que vem:

1. Encontrar todos códigos que eu escrevi usando NLTK e consolidar em plugins;
2. Introduzir bots em grupos para coletar dados para PLN;
3. Testar ferramentas para chatbots diferentes;

---

## Bibliografia (linkania):

### Chatbot

* https://pt.wikipedia.org/wiki/Chatterbot
* https://medium.com/@erikatiliorey/criando-um-chatbot-com-python-36f24b62df6c
* https://chatterbot.readthedocs.io/en/stable/

### PLN

* https://www.nltk.org/
* https://www.youtube.com/watch?v=xvqsFTUsOmc
* https://www.youtube.com/watch?v=1CLMPcUEh-8

---

## Criando issues no respositório do Github

Começando às 15:20

<https://github.com/matehackers/tg-matebot/issues>

Terminado às 17:30. Alguns usuários mandaram ideias pelo chat do youtube, e a maioria das issues foi obtida pesquisando #feedback nos grupos de desenvolvimento do matebot no telegram.

---

## Encontrar todos os repositórios das irmãs e irmãos do MateBot

Começando às 17:40 e encerrei às 18:00

Documentado na wiki do matebot, disponível em <https://github.com/matehackers/tg-matebot/wiki/Forks>.

---

## Instalar e configurar Python e Geany no Windows 10

Começando às 18:00

Python para Windows (ou qualquer outra plataforma) pode ser obtido em <https://python.org>.

Geany para Windows pode ser obtido no [site](https://www.geany.org), mas eu usei o [Portable Apps](https://portableapps.com) e instalei o [Geany Portable](https://portableapps.com/apps/development/geany_portable).

---

## Refazer um código funcional do MateBot usando Flask e PTB

Começando às 19:10

### Pipenv e Flask

Preparar o ambiente com pipenv (no meu caso no windows):

    $ python -m pip install --user --upgrade pip
	$ python -m pip install --user --upgrade pipenv

Conteúdo do arquivo **Pipfile**:

    [[source]]
    name = "pypi"
    url = "https://pypi.org/simple"
    verify_ssl = true
    
    [packages]
    Flask = "*"
    python-dotenv = "*"
    python-telegram-bot = "*"
    requests = "*"
    
    [requires]
    python_version = "3"

Iniciar o ambiente com Pipenv:

    $ pipenv install

Criando o arquivo de configuração para o Flask (**config.py**):

[Manual](https://flask.palletsprojects.com/en/1.1.x/config/>)

Eu crio o arquivo **default_config.py** para servir como exemplo, porque o arquivo **instance/config.py** que vai ser usado de fato não fica no repositório, pois é incluído em **.gitignore**.

Eu crio também o arquivo **default_env** para ser posteriormente renomeado para **.env**

Feito isto, e uma configuração básica escrita, é hora de testar o Flask:

    $ pipenv run flask run

O commit aonde isto foi feito é [ff552e8b96732673841b28da53eb48dd7f65cb4b](https://github.com/matehackers/tg-matebot/commit/ff552e8b96732673841b28da53eb48dd7f65cb4b)

Encerrei às 21:20 para uma pausa e retomei às 21:55. Fiz alguns ajustes até às 22:15

### Python-telegram-bot

Comecei a ler o [manual](https://github.com/python-telegram-bot/python-telegram-bot) às 22:15

Criei algumas rotas (views) com Flask pra testar o funcionamentos dos métodos básicos do python-telegram-bot. O commit onde estão estas alterações é o [e485243120ec751e904095c8ad27cf61b8686fea](https://github.com/matehackers/tg-matebot/commit/e485243120ec751e904095c8ad27cf61b8686fea).

Encerrarei a atividade por hoje e continuarei outro dia. Encerrando a transmissão às 1:30 de quarta feira. A Terça Sem Fim não terminou.

Lista de leitura:

* https://github.com/python-telegram-bot/python-telegram-bot/wiki/Code-snippets
* https://github.com/python-telegram-bot/python-telegram-bot/wiki/Extensions-%E2%80%93-Your-first-Bot
* https://python-telegram-bot.readthedocs.io/en/stable/
* https://core.telegram.org/bots/api
* https://python-telegram-bot.readthedocs.io/en/latest/telegram.ext.updater.html#telegram.ext.updater.Updater

---

## Documentar o processo audiovisualmente e textualmente

Este blog segue no ar via Tor (quando o computador do Tor estiver ligado) em <http://ftkbuej5ggf45o5n37evqj6qhxjobrz7lyqvdz22z3me6yyuepmhgcad.onion/>

A última vez que foi salvo na IPFS era acessível pelo CID [bafybeicblmub2ckki33uz7zyrdaerl4jdhmim4znhjhw3tofchw3eookiy](https://ipfs.io/ipfs/bafybeicblmub2ckki33uz7zyrdaerl4jdhmim4znhjhw3tofchw3eookiy)

O vídeo ficou salvo no youtube através da URL <https://www.youtube.com/watch?v=HqoVkgBr8kk>. Em breve disponível via IPFS também.
